#pragma once

#include <map>
#include "Pointer.h"
#include "HashedString.h"
#include "TinyXML2.h"

class IResource
{
public:
	typedef std::map<HashedString, Pointer<IResource>> Map_t;
	typedef std::pair<HashedString, Pointer<IResource>> Pair_t;

	virtual bool ToXML( tinyxml2::XMLPrinter& printer ) = 0;
	virtual const HashedString& getResourceType() const = 0;
};